perm filename SZH.MSG[MUD,SYS] blob sn#548994 filedate 1980-12-10 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00001 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 ENDMK
C⊗;
∂24-Nov-80  1632	PN  	Progress Report
To:   s1pas at SU-AI, s1progress-log at SU-AI   
Last two weeks:

    1. Finished cleaning up Upas.  Fixed yet a few more bugs. Put it up on Score.
    2. Started looking at the debugger for the IBM, and the compiler used
       with it, and thinking about the problems involved.
    3. Wrote first section of Upas documentation, which describes peculiarities
       of the Pascal accepted by Upas (see Usergd[Doc,S1]).
    4. Merged some more changes into Upass.  Found some bugs and alerted 
       Noah and Andrei.
    5. Spent some time working (primarily) with Noah to finalize static storage
       U-code instructions.

Next two weeks:

    1. Write Pail-8.   This version should be more instructional than previous
        versions, which were primarily reference-like in nature.
    2. Give WES whatever help he needs in getting the new Sopa up.
    3. Do something about the ever-present too-many-S-1-files problem at Sail.
    3. Write symbol table file writing and reading routines and put the former
       in Upas.  My present plans are to install the debugger with as few
       changes as possible, so that it can be used soon and so that I can 
       become familiar with the problems involved before doing much design work
       on a new one.
    5. Eat as much turkey as possible, in preparation for the long winter ahead.

∂24-Nov-80  2328	JMM  	progress report    
To:   "@S1PAS.[DIS,S1]" at SU-AI, "#S1PROG.MSG[DIS,S1]" at SU-AI
CC:   JMM at SU-AI    
From:Jitendra Malik
Date:Nov 25,1980
 
Last two weeks were spent in familiarizing with the two versions of opt.pas 
 and planning out the necessary changes to accept full U-code.
 
The modification planned for the next two weeks is allowing for different lengths of data types-by changing symtab structure
data types by modifying symtab appropriately

∂25-Nov-80  1117	Noah Mendelsohn <CSL.JLH.NOAH at SU-SCORE> 	Progress Report 
Date: 25 Nov 1980 1048-PST
From: Noah Mendelsohn <CSL.JLH.NOAH at SU-SCORE>
Subject: Progress Report
To: csd.noah at SU-SCORE, s1pas at SU-AI, s1progress-log at SU-AI

I've been quite busy with class work, so things haven't moved too
fast this week.  Export was basically implemented for everything except
procedures, but Peter and I have decided to make some changes in the order
in which UCODES are emited and I have not updates my stuff to reflect that 
yet.  I expect to do tha within the next two weeks, and hopefully to 
finish up support for export of procedures as well.
-------

∂25-Nov-80  1144	PN  	Address calculation for parametric arrays    
To:   "@UCODE.[DIS,S1]" at SU-AI 
On the other hand I am not sure how to get rid of
		IXA J 1
The situation is as follows: On  top of stack a displacement in  bits,
type J, second word on  stack an address, type A.   Type J can not  be
converted with CVT to type A according to PAIL 6.  Hence I either use
		IXA J 1 
or use
		LDC J "Fullword"
		DIV J
		IXA J "Fullword"
which is even crazier.  The only reasonable solution would be to have
the displacement in words - this requires quite a bit a work -  but
our stack-machine is supposed to be a bit machine, isn't it?

						Andrei
-------

[So, we'll allow a CVT of J to A.  (To be generated only in this one place!)
 So the sequence would be (for "Arr[Inx] := 99"):

     Arr isn't parametric             Arr is parametric

     LDA M Arr			      LDA M Arr
     LOD J Inx			      LOD J Inx
     DEC J 1			      DEC J 1
     INX Wordlength		      LOD J Arr.Element.Size
     LDC J 99			      MPY J
     ISTR 0			      CVT A J
				      ADD A
			              LDC J 99
				      ISTR 0

 The problem with IXA 1, for those who don't know, is that the translator
usually divides the offset by the addressable unit length.  Thus IXA 36
for a 9-bit byte-addressable machine translates to "Multiply by 4 and add."
The same thing with DEC A and INC A.

  --  peter
]

∂26-Nov-80  0118	Purger    
To:   S1 at SU-AI 
You are exceeding your disk quota.
Files that occupy space beyond your quota are subject to purging.
If you don't delete some of your files, the purger will.
Your disk quota is: 9000
Your files occupy 10775

∂26-Nov-80  0121	Purger    
You are exceeding your disk quota.
Files that occupy space beyond your quota are subject to purging.
If you don't delete some of your files, the purger will.
Your disk quota is: 120
Your files occupy 335

∂27-Nov-80  1540	PWM   via SUMEX-AIM 	Henry Hudson visit, SLAC Pascal updates, error in FFT routine   
Hi Sassan, Henry Hudson from where I work here in Australia will be briefly
visiting Stanford 4-5 Dec.  He is interested in editors, and time permitting
would like to come over to SLAC to see Wylbur in action (amongst other things).
Could he contact you to arrange such a visit when he gets to Stanford?
 
The version of SLAC Pascal we are running is July 78, are there any updates we
should know about?
 
The test program FFT gets a runtime subrange exceeded error on line 30
in EXPTAB; the code looks wrong - ORD(C)+9 is going to be 202 decimal when
C:='A' (EBCDIC), so will get subrange error when assigning to HT.  What is
the fix?
Cheers,
       Peter
P.S.  execution time for FIB is about 1/3 faster on Facom M-190 than your 370/168;
FIB runs about 3 times faster than on our Facom M-190 when run on our CYBER 76>

∂01-Dec-80  1206	CSD.TAJNAI at SU-SCORE (Carolyn Tajnai) 	MTC Qual Spring Quarter 
Date:  1 Dec 1980 1158-PST
From: CSD.TAJNAI at SU-SCORE (Carolyn Tajnai)
Subject: MTC Qual Spring Quarter
To: PHD-Distribution-list:

If you plan to take the MTC Qual spring quarter, please send a message
to Prof. Zohar Manna (ZM@SAIL).  He will be gone Winter Quarter, but he
will prepare a reading list before he leaves.
Carolyn Tajnai
-------

∂03-Dec-80  1832	Purger    
You are exceeding your disk quota.
Files that occupy space beyond your quota are subject to purging.
If you don't delete some of your files, the purger will.
Your disk quota is: 120
Your files occupy 466

∂03-Dec-80  1829	Purger    
To:   S1 at SU-AI 
You are exceeding your disk quota.
Files that occupy space beyond your quota are subject to purging.
If you don't delete some of your files, the purger will.
Your disk quota is: 9000
Your files occupy 11052

∂04-Dec-80  1412	PN  	EOLN and EOF   
To:   "@S1PAS.[DIS,S1]" at SU-AI 
 ∂25-Nov-80  1644	MSS  
Peter

As I read the documentation in stand.txt, for any 'initialized' text file
F, eof(F) => eoln(F), end of file implies end of line. However, as
demonstrated by test.pas[1,mss] and (more clearly) test2.pas[1,mss]
(reading file bogus.txt[1,mss]), the UPAS system does not implement this
invariant, causing an i/o error at run time with test.pas[1,mss].
Comments?

-Mark

[My reading of the standard is that Eof implies NOT Eoln, by the following 
 logic:  The standard says that IF Eoln is true,

        "advancing the file position shall cause one of  the
         following to occur:

            a)  the current file position to be positioned at the end  of
                the file f

            b)  or the current file position to be positioned at  another
                line-marker

            c)  or the first character of the next line to be assigned to
                the buffer variable f↑."

 But if we are ALREADY at EOF, then advancing the file position should cause
 an error.  (Although I grant you there is some room for interpretation.)

 Nevertheless, we have already adopted your position, primarily for people
 whose programs assume that text input files are really guararanteed to be
 of form text, (that is, they always end with an end-of-line marker). 
 This doesn't always happen if, for example, you use Emacs.

 Similarly, procedure Readln, contrary to its definition in the standard,
 does not do a Get if Eof is true.  (These fixes are not yet in the runtimes
 currently on the S-1.)

 -- peter

∂08-Dec-80  1905	Noah Mendelsohn <CSL.JLH.NOAH at SU-SCORE> 	Progress Report 
Date:  8 Dec 1980 1903-PST
From: Noah Mendelsohn <CSL.JLH.NOAH at SU-SCORE>
Subject: Progress Report
To: s1pas at SU-AI, s1progress-log at SU-AI

Exports for all types of data are basically working.  There are a few
minor bugs which I have catalogued, but which I expect to leave hanging
while I pursue the more major functions.

I have begun a paper design for IMPORT.  Hopefully, this will not have
too much retroactive effect on EXPORT.  As soon as the design looks
good, coding on IMPORT will begin.  The first phase will be the
symbol table datastructures, and the reading (and dynamic opening)
of DEFS files.  Following that (sometime in the winter) I will attack
use of the imported variables and procedures.

I have three finals next week, and will be out of town from 12/22 through
1/4.

Noah
-------

∂09-Dec-80  1058	PN  	Progress report
To:   s1pas at SU-AI, s1progress-log at SU-AI   
Last two weeks:

	1. Wrote first part of Pail8 (see PAIL8.TXT[DOC,S1]).

	2. Fixed bugs in Upas0.

        3. Thought some about the debugger.

        4. Improved loop code in Upas0 by 
           1) eliminating the store into a temporary if the initial 
	      or final value is a constant
	   2) moving the bounds check from the loop increment part to the
	      loop set-up part
	   3) changing the test-and-increment to an increment-and-test
	      to take advantage of the S-1 ISKP for short loops
	   4) storing the initial value in a temporary instead of into
	      the loop variable so that cases like
			FOR I := I+1 to I+3
	      will work correctly

        The improvement in the code generated depends on the loop. The
        best case is 9 U-code instructions instead of 20, translating to
	2 S-1 instructions instead of 12. (This includes both the loop
	set-up and loop increment code.)

        The break-up is as follows, where C is a constant or constant
        expression and V is a simple variable; for each case, the
	non-bounds checking instruction count is given first and then
        the bounds checking instruction count, which is only relevent
        if I is a subrange:

Loop set-up 
-----------

Loop Form: FOR I :=    C to C  C to V  V to C  V to V

Old (U-code)		8+2	8+2	8+2	8+2
New (U-code)		2+0	7+4     7+2     8+6

Old (S-1)	        7+1  	8+1	8+1	7+1
New (S-1)	        1+0	4+1     4+1     6+2

Loop increment 
--------------

Old (U-code)	8+2
New (U-code)	7+0

Old (S-1) short and long loops, with b checks		3+1
Old (S-1) short and long loops, without b checks	2+0
New (S-1) long  loops                            	2+0
New (S-1) short loops                            	1+0	


NEXT TWO WEEKS:

    1.  Put up the new Sopu and Upas on the S-1 (if we can get the former
        working)
    2.  Correct current version of Pail-8, maybe add some more.
    3.  Delineate the necessary primitives for the debugger.

∂09-Dec-80  1219	JMM  	progress report for fortnight ending december 8  
To:   "@S1PAS.[DIS,S1]" at SU-AI, "#S1PROG.LOG[DIS,S1]" at SU-AI
CC:   JMM at SU-AI    
--Jitendra Malik

Not much progress.I have got the code for the changes necessary in 
the symbol table and the ucode ops(in the quads) written on paper
but I have not been able to enter it in.I will try to do this in the
next two weeks or so.
  I intend to make up for this singular lack of progress by staying here
through the Christmas holidays and working full time on the optimiser.

∂10-Dec-80  1256	CAC  
To:   s1progress-log at SU-AI, s1pas at SU-AI   
Current state of the binder:
a few days more work needed before starting to test.
The main work left is to verify my use of the ucode read and write procedures
and to be sure all the subroutines are compatible with one another.

No telling how much work the debugging will be.  i should have a better idea
about that once i get started.

∂10-Dec-80  2300	FC  	Progress/planning report 
To:   s1fortran at SU-AI
CC:   s1progress-log at SU-AI   
Last 2 weeks:

	1. Eliminated length table in LOPT for various data types by making
it gets all length information from the input Ucode.  Made it machine-
independent.  Finished the tests.

	2. Did some fixes in the I/O runtime in UFORT.

Upcoming work:

	1. Implement static storage and data initializations in UFORT
according to PAIL8.

	2. Prepare a documentation of the local optimizer.

	3. Improve constant folding in LOPT so that it can constant-fold
operands that are more than an operator apart.